让我有 table
用户
-id : 长
-登录名:varchar
-武器:varchar
-魔法:varchar
我想将这个表映射到两个类上(使用 Hibernate/JPA)
class Mag
{
long id;
String login;
String weapon;
}
和
class Warrior
{
long id;
String login;
String magic;
}
如果我发送 HQL 查询:SELECT m FROM Mag m WHERE m.login = ?
然后我得到 Mag 实例
如果我发送 HQL 查询:SELECT w FROM Warrior w WHERE w.login = ?
然后我得到 Warrior 实例
我试着做这样的东西
@Entity
@Table(name = "User")
class User
{
long id;
String login;
}
@Entity
class Mag extends User
{
String magic;
}
@Entity
class Warrior extends User
{
String weapon;
}
但@Inheritance 重新列出了鉴别器列,但我没有鉴别器。
最佳答案
您正在寻找 MappedSuperClass ,它允许子类从父类(super class)继承注解而不需要鉴别器。
关于java - 在单个表上映射两个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10426690/