当前位置: 首页 > 知识库问答 >
问题:

使用JOOQ创建动态主键约束

逄宁
2023-03-14

我正在使用JOOQ(JOOQ中的新手)在spring boot项目中使用Rest API在运行时创建数据库。在其中一种情况下,我需要创建一个具有复合主键的表,该主键可以是多个列的组合。我使用下面的代码创建约束-

ArrayList<Constraint> constraints = new ArrayList<>();
constraints.add(constraint(name("pk_" + tableName))
.primaryKey(field("column1"), field("column2")));

我已经有列表了


共有1个答案

龙弘济
2023-03-14

主密钥(集合)通常的重载

只需使用ConstraintTypeStep即可。primaryKey(字段

List<Field<?>> list = ...

// Pre Java 11
constraints.add(constraint(...).primaryKey(list.toArray(new Field<?>[0])));

// Using new JDK 11 API
constraints.add(constraint(...).primaryKey(list.toArray(Field<?>[]::new)));

 类似资料:
  • jOOQ具有文档中所述的CREATE TABLE语法: 我想知道如何定义哪个列属于主键?那么,在jOOQ中有没有办法用主键信息创建create TABLE语句呢? 我对SQLite的解决方案特别感兴趣,它没有语法来添加主键,所以我认为在最坏的情况下,我必须去一个特定于数据库的解决方案?

  • 你不知道如何在JOOQ(Java)中创建主键吗?我需要的只是得到正确的创建表字符串。我还没有这段代码(使用SQLDialect。MYSQL): 输出(来自字符串生成器): 我需要的是设置主键以获得正确的输出: 不使用execute()是否可能?因为我只需要它作为字符串,所以我想再次使用only getSQL()命令。。。 我发现了类似这样的东西:DSL。主密钥(“id”); 但我无法将它与rest

  • 要用jooq创建一张唱片,我说 这将引发一个id为null的约束冲突异常。如果我设置一个id(如 我没有得到异常,但postgres不会自动生成值。 http://www.postgresql.org/docs/current/static/datatype-numeric.html#datatype-serial的postgres文档指出“在INSERT中省略SERIAL列,或者指定DEFAUL

  • 问题内容: 首先,我使用Cheerio进行一些DOM访问并使用Node.js进行解析。美好的时光。 情况如下: 我具有创建对象所需的功能。该对象为其键和值使用变量,然后返回该单个对象。例: 它输出: (返回对象fyi的数组) 我实际上需要成为的字符串。 考虑到我要做什么,在Java中将字符串分配为键的最佳方法是什么? 问题答案: 在JavaScript 的新ES2015标准(以前称为ES6)中,可

  • 我用Flink来读写来自不同Kafka主题的数据。具体来说,我使用的是FlinkKafkaConsumer和FlinkkafKapProducer。 我想知道是否有可能根据我程序中的逻辑或记录本身的内容,将我正在阅读和写作的Kafka主题更改为“即时”。 例如,如果读取带有新字段的记录,我希望创建一个新主题,并开始将带有该字段的记录转移到新主题。 谢谢。

  • 我试图在Cassandra CLI版本1.1.6中创建一个列族,我不确定如何将主键指定为MovieID。