- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在我的项目中,实体的结构如下。
public class FriendId {
private String profileFrom;
private String profileTo;
...
}
对于用作 PK 的好友实体 - FriendId。
@Entity
@Table(name = "FRIEND")
@IdClass(FriendId.class)
public class Friend {
@Id
@ManyToOne
@JoinColumn(name = "PROFILE_UUID_1", nullable = false)
private Profile profileFrom;
@Id
@ManyToOne
@JoinColumn(name = "PROFILE_UUID_2", nullable = false)
private Profile profileTo;
...
}
问题是我无法加入 findFriendsByUser
方法。
public List<User> findFriendsByUser(String userUuid) {
CriteriaBuilder builder = getEntityManager().getCriteriaBuilder();
CriteriaQuery<User> query = builder.createQuery(User.class);
Root<User> userRoot = query.from(User.class);
Join<User, Profile> profileJoin = userRoot.join(PROFILES);
Join<Profile, Friend> friendsJoin = profileJoin.join(FRIENDS);
Join<Friend, Profile> profileFriendsJoin = friendsJoin.join(PROFILE_TO);
Join<Profile, User> userFriendsJoin = profileFriendsJoin.join(USER);
Predicate userPredicate = builder.equal(userFriendsJoin.get(UUID), userUuid);
query.select(userRoot).where(userPredicate);
return getEntityManager().createQuery(query).getResultList();
}
我发现了这个异常:
java.lang.RuntimeException: java.lang.IllegalArgumentException: Unable to resolve attribute [profileTo] against path [null]
使用注解@Embeddable的唯一解决方案?
最佳答案
看看:http://docs.oracle.com/javaee/5/api/javax/persistence/IdClass.html
The names of the fields or properties in the primary key class and the primary key fields or properties of the entity must correspond and their types must be the same
这里不是这种情况,类型不同!
关于java - 使用 IdClass 连接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15153025/
我的类Class1Item是对Class1中条目的引用。 Hibernate 需要我定义一个@IdClass。使用 Class1 的 Id 定义自己的类对我来说不起作用。 这是我收到的错误: org.
这是我的一个实体的复合主键。 public class GroupMembershipPK implements Serializable{ private static final long
我使用 spring boot 2、jpa 和 hibernate 用这个代码 @Entity @Inheritance(strategy = InheritanceType.SINGLE_TABLE
如果你有一个类似的 IdClass public class EmployeePK implements Serializable { private String empName; privat
如何在多重继承实体组合键情况下使用IdClass? @IdClass(IdClassEntity1.class) class Entity1 { private long e1
我有一个 Evaluation 实体,它具有关联的 EvaluationEvaluator 列表。我需要显式创建该实体,因为它需要一个额外的列“STATUS”。在我继续评估之前。我这样做:evalua
我有以下模型(一个更大模型的非常简化的版本) public enum EntityType { DOG, HAMMER } @Entity public class Entity {
在我的项目中,实体的结构如下。 public class FriendId { private String profileFrom; private String profileTo
我正在尝试将复合主键添加到类中,但遇到了一些麻烦。这是类。 class User { private long id; ... } class Token { private
我有以下设置: @Entity @IdClass(MemberAttributePk.class) public class MemberAttribute { @Id @ManyTo
我有 3 个具有多对多关系的表 A(id,名称,...)主键id B(id,名称,...),带有主键id AB (id_a, id_b, date, ....) - 关系表,否主键 我可以为 hibe
我正在使用 JPA 实体实现以下表结构,其中显示的属性代表 PK/FK 列。 protocolId 是自动生成的,并在调用 persist() 之前在所有实体中设置为 null。整个结构被立即存储。
我有一个名为 EmployeeDepartment 的实体,如下所示 @IdClass(EmployeeDepartmentPK.class) //EmployeeDepartmentPK is a
我的任务是准备一个报价搜索屏幕。我已经提到了Oracle View 创建报价模型。由于 View 表中没有 id 列,因此我更喜欢通过 quoteId.class 使用 @IdClass 注释来使用复
如果您有一个用户实体,您可以通过两种方式存储他/她的地址。您可以直接将所有字段存储在用户对象中 - 或者 - 您可以创建一个地址对象,该对象保存在单独的表中并连接到用户(或级联,或其他),然后放入用户
当我在 JPA 中为具有复合键的实体使用 Idclass 时,我编写了一个删除方法,如: private static void removeEmployee(Employee employee) {
我有以下实体: @Entity @Data @IdClass(ProjectEmployeeId.class) public class ProjectEmployee { @Id @Many
在部署我的应用程序期间,我遇到了那个异常。我的应用程序中有很多类,但我不知道必须在哪里放置 @IdClass 以及这个异常到底意味着什么。我正在使用 Hibernate 4.1 和 JBoss AS
我的id类如下, public class EmployeeId implements Serializable{ public EmployeeId(){} public Emplo
@Entity @IdClass(MyPK.class) public class SubEntity { @Id private int id; @Id private String
我是一名优秀的程序员,十分优秀!