首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgresql/openJPA (geronimo)序列问题

Postgresql/openJPA (geronimo)序列问题
EN

Stack Overflow用户
提问于 2011-05-12 03:19:30
回答 2查看 478关注 0票数 0

我对一个序列有一个奇怪的问题。我正在使用PostgreSQL9和geronimo 2.2。我已经在db环境中创建了序列PLANTS_ID_SEQ,当我尝试创建一个新实体时,我在我的日志(来自postegresql)中得到一个错误,说明关系PLANTS_ID_SEQ存在。它似乎试图创建已经创建的序列。这是来自实体bean的代码:

代码语言:javascript
复制
@Id 
@GeneratedValue(generator="PLANTS_SEQ",strategy=GenerationType.SEQUENCE) @SequenceGenerator(name="PLANTS_SEQ", sequenceName="PLANTS_ID_SEQ",allocationSize=1) @Column(name = "ID") 
private Integer id; 

请注意,如果我更改了序列名称(eg sequenceName="MY_SEQ"),代码将正确运行,但它会在postgresql中创建(并明显使用) MY_SEQ序列。如果任何人有关于这个案例的线索,请分享。谢谢乔治

EN

回答 2

Stack Overflow用户

发布于 2011-05-12 05:25:39

如果您的表有一个序列类型的列,那么postgres将为您创建序列,并在插入时自动使用它。

它创建的序列被命名为"tablename_id_seq"...

也许你正在尝试复制postgres已经做过的事情,并创建一个重复的序列。

票数 1
EN

Stack Overflow用户

发布于 2011-05-15 21:35:08

已解决:应在persistence.xml中添加以下属性:

代码语言:javascript
复制
property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(Sequences=false)" 

这样,openjpa的MappingTool将不会再次尝试创建该序列。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5969436

复制
相关文章

相似问题

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