gpt4 book ai didi

java - 选择与 EJB3 冲突

转载 作者:行者123 更新时间:2023-11-30 05:10:05 24 4
gpt4 key购买 nike

今天我遇到了 JPA/EJB3 的新问题。我有 2 个表 UserGroup具有映射 OneToMany(组一 - 用户多)

当我在EJB中使用select语句时,例如:

@NamedQuery(name = "Iuser.findAll", query = "SELECT i FROM Iuser i")

发生冲突,它不知道group字段我选择在哪里表? (User 表中的 group 字段是 groupid [外键],Group 中的 group 字段code> 表是 Group [主键])

如何解决这个问题?

我知道EJB3中的用户user.group按钮语句未执行,请帮忙。

最佳答案

我敢打赌,IGroup 实体映射到表 Group 上,这是一个保留关键字,如果不转义可能会导致问题。

如果您使用的是 JPA 2.0 提供程序,则可以告诉 JPA 提供程序通过将名称括在双引号内来转义数据库对象名称,如下所示:

@Entity
@Table(name="\"GROUP\"")
public class IGroup {
...
}

如果您使用的是 JPA 1.0,则没有标准化的方法,这取决于 JPA 提供商。使用 Hibernate,您必须使用反引号:

@Entity
@Table(name="`GROUP`")
public class IGroup {
...
}

或者,更改非保留关键字的表名称:

@Entity
@Table(name="GROUPS")
public class IGroup {
...
}

有意义吗?

关于java - 选择与 EJB3 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3732573/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com