Spring MVC + Hibernate
我有两个包含用户数据的表。
现在我想上两堂课。
1. 用户
2. 地址 -> 因为我们可以在很多地方使用它。
我们在这方面有一种关系。
@Embedded
class Address
和
class user
{
@Autowired
Address address;
}
这是好主意还是坏主意?
因此我必须在 hibernate 查询中进行更改吗?
最佳答案
实现 has-a 关系是个好主意。
使用 Embeddable 注释创建类 Address 来定义公共(public)列(属性)
@Embeddable
class Address{
String city;
String state;
}
在 User 类中使用具有关系
public class User {
@Embedded
private Address address;
}
您可以这样查询:
session.createQuery( "select u from User u where u.address.city=:city" ).setParameter( "city", 'ahmedabad' ).list();
或者:
session.createQuery( "select u from User u where u.address.city in (:city)" ).setParameterList( "city", Arrays.asList( 'surat', 'ahmedabad' ) ).list();
关于java - 如果我们使用@embedded注解,HQL(hibernate查询语言)需要如何改变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51472969/