Hibernate 是否允许写入 String/Type Safe SQL?
Does Hibernate allow writing of String/Type Safe SQL?
Hibernate 是否允许写 String/Type SQL ,类似于 Entity Framework /w Linq,一个人可以写正确的 Sql,任何拼写错误的 SQL Table,列名将在编译时显示而不是 运行 执行时显示?
create.select(AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME, count())
.from(AUTHOR)
.join(BOOK).on(AUTHOR.ID.equal(BOOK.AUTHOR_ID))
.where(BOOK.LANGUAGE.eq("DE"))
.and(BOOK.PUBLISHED.gt(date("2008-01-01")))
.groupBy(AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME)
.having(count().gt(5))
.orderBy(AUTHOR.LAST_NAME.asc().nullsFirst())
.limit(2)
.offset(1)
根据要求,我添加了我的评论作为答案。
Id 取决于您创建查询的方式,如果您使用 JPA/Native 查询,no,如果您使用条件(仅使用实体对象),那么是的。
下面是一个仅对实体对象使用 Criteria 的示例:
尽管如果您使用的是需要传入字符串的 Criteria API,那么答案也是否定的。
Hibernate 是否允许写 String/Type SQL ,类似于 Entity Framework /w Linq,一个人可以写正确的 Sql,任何拼写错误的 SQL Table,列名将在编译时显示而不是 运行 执行时显示?
create.select(AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME, count())
.from(AUTHOR)
.join(BOOK).on(AUTHOR.ID.equal(BOOK.AUTHOR_ID))
.where(BOOK.LANGUAGE.eq("DE"))
.and(BOOK.PUBLISHED.gt(date("2008-01-01")))
.groupBy(AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME)
.having(count().gt(5))
.orderBy(AUTHOR.LAST_NAME.asc().nullsFirst())
.limit(2)
.offset(1)
根据要求,我添加了我的评论作为答案。
Id 取决于您创建查询的方式,如果您使用 JPA/Native 查询,no,如果您使用条件(仅使用实体对象),那么是的。
下面是一个仅对实体对象使用 Criteria 的示例:
尽管如果您使用的是需要传入字符串的 Criteria API,那么答案也是否定的。