首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果我们使用@embedded注解,HQL(hibernate query language)需要如何改变?

如果我们使用@embedded注解,HQL(hibernate query language)需要如何改变?
EN

Stack Overflow用户
提问于 2018-07-23 14:45:32
回答 1查看 45关注 0票数 0

spring mvc + hibernate

我有两个一个包含用户数据的表。

现在我想做两个类。

  1. user
  2. address ->,因为我们可以在很多地方使用它。

在这一点上,我们有关系。

代码语言:javascript
复制
@Embedded
class Address

代码语言:javascript
复制
class user
{
@Autowired
Address address;
}

这是个好主意还是坏主意?

因此,我可以在hibernate查询中进行更改吗?

EN

Stack Overflow用户

发布于 2018-07-23 16:27:32

实现has-a关系是个好主意。

创建带有可嵌入注释的类地址,以定义公共列(属性)

代码语言:javascript
复制
@Embeddable
class Address{
    String city;    
    String state;
}

在User类中使用具有-一种关系

代码语言:javascript
复制
public class User {
    @Embedded
    private Address address;
}

您可以像这样查询:

代码语言:javascript
复制
session.createQuery( "select u from User u where u.address.city=:city" ).setParameter( "city", 'ahmedabad' ).list();

或者:

代码语言:javascript
复制
    session.createQuery( "select u from User u where u.address.city in (:city)" ).setParameterList( "city", Arrays.asList( 'surat', 'ahmedabad' ) ).list();
票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51472969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档