- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
例如,我有两个实体 OneToOne
协会。
@Entity
class Entity1(
@Column val columnToSelect1: String,
@Column val columnToSelect2: String,
@Column val columnToSelect3: String,
@Column val columnToSelect4: String,
@Column val columnToSelect5: String,
@Column val columnToSelect6: String,
@Column val columnToSelect7: String,
@Column val columnToSelect8: String,
@Column val columnToSelect9: String,
@Column val columnToSelect10: String,
@OneToOne
@JoinColumn
val columnNotToSelect: Entity2
)
val columnNotToSelect: Entity2
之类的特定列之外的其他列。 .
Entity2
将导致触发另一个并不总是需要的查询。
interface Entity1Getter {
fun getColumnToSelect1(): String
fun getColumnToSelect2(): String
fun getColumnToSelect3(): String
...
}
interface Entity1CrudRepository : CrudRepository<Entity1, UUID> {
// select all columns
fun findAll(): List<Entity1>
// select all columns except columnNotToSelect
@Query(
"SELECT " +
"e.columnToSelect1 as columnToSelect1" +
"e.columnToSelect2 as columnToSelect2" +
"e.columnToSelect3 as columnToSelect3" +
"e.columnToSelect4 as columnToSelect4" +
"e.columnToSelect5 as columnToSelect5" +
"e.columnToSelect6 as columnToSelect6" +
"e.columnToSelect7 as columnToSelect7" +
"e.columnToSelect8 as columnToSelect8" +
"e.columnToSelect9 as columnToSelect9" +
"e.columnToSelect10 as columnToSelect10" +
"FROM Entity1 e"
)
fun findAllExceptOneColumn(): List<Entity1Getter>
}
最佳答案
JPA 世界中所需的行为称为 EntityGraph
.您可以创建一个特定的实体图(或一组图,如果需要多个)。然后标记一个特定的查询方法来使用这个实体图。作为返回结果,您将获取原始实体,但不在图中的所有其他属性将处于 LAZY 获取模式。
例如:
@NamedEntityGraph(
name = "Entity1.exceptColumn",
attributeNodes = {
@NamedAttributeNode("columnToSelect1"),
@NamedAttributeNode("columnToSelect2"),
@NamedAttributeNode("columnToSelect3"),
@NamedAttributeNode("columnToSelect4"),
@NamedAttributeNode("columnToSelect5"),
@NamedAttributeNode("columnToSelect6"),
@NamedAttributeNode("columnToSelect7"),
@NamedAttributeNode("columnToSelect8"),
@NamedAttributeNode("columnToSelect9"),
@NamedAttributeNode("columnToSelect10")
}
)
@Entity
class Entity1(
@Column val columnToSelect1: String,
@Column val columnToSelect2: String,
@Column val columnToSelect3: String,
@Column val columnToSelect4: String,
@Column val columnToSelect5: String,
@Column val columnToSelect6: String,
@Column val columnToSelect7: String,
@Column val columnToSelect8: String,
@Column val columnToSelect9: String,
@Column val columnToSelect10: String,
@OneToOne
@JoinColumn
val columnNotToSelect: Entity2
)
interface Entity1CrudRepository : CrudRepository<Entity1, UUID> {
// select all columns
fun findAll(): List<Entity1>
// select all columns except columnNotToSelect
@EntityGraph(value = "Entity1.exceptColumn")
@Query("SELECT e FROM Entity1 e ")
fun findAllExceptOneColumn(): List<Entity1>
}
Entity1
类,但实体图外的属性以 LAZY fetch 模式标记。
data class Entity1Projection (
val columnToSelect1: String,
val columnToSelect2: String,
val columnToSelect3: String,
val columnToSelect4: String,
val columnToSelect5: String,
val columnToSelect6: String,
val columnToSelect7: String,
val columnToSelect8: String,
val columnToSelect9: String,
val columnToSelect10: String
)
interface Entity1CrudRepository : CrudRepository<Entity1, UUID> {
// select all columns
fun findAll(): List<Entity1>
// select all columns except columnNotToSelect
@Query("""
SELECT new fully.qualified.package_name.Entity1Projection(
e.columnToSelect1,
e.columnToSelect2,
e.columnToSelect3,
e.columnToSelect4,
e.columnToSelect5,
e.columnToSelect6,
e.columnToSelect7,
e.columnToSelect8,
e.columnToSelect9,
e.columnToSelect10
)
FROM Entity1 e """)
fun findAllExceptOneColumn(): List<Entity1Projection>
}
关于Spring Boot Jpa JPQL 选择特定列以外的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59278428/
我已经坚持了好几天了……很抱歉遇到这样的问题,但是我只是F#本身的初学者。由于关于类型提供程序的讨论很多,所以我决定建立一个类型提供程序并撰写一篇有关它的论文。当我开始时,我不知道什么是类型提供程序。
我正在开发LAN项目唤醒功能,但是我想控制局域网中计算机是否打开。但是我不想使用ICMP或WMI(我的网络上有DC)。那么,对于此问题,是否还有其他选择,例如“套接字连接”,请检查特定端口是否正在使用
我们有一个旧的VB6应用程序,该应用程序使用Crystal Reports XI生成打印报告。我们已经通过经验发现,如果Crystal Reports打印引擎选择了错误版本的 usp10.dll (W
我正在尝试获取有效的 Android 权限列表。我知道 http://developer.android.com/reference/android/Manifest.permission.html
嗨,我是 nginx 的新手,我试图在我的服务器(运行 Ubuntu 4)上设置它,它已经运行了 apache。 所以在我 apt-get install 它之后,我尝试启动 nginx。然后我收到这
如何在VB 6中检查对象的类型-除了'TypeName'之外,是否还有其他方法,因为无法通过'TypeName'进行检查,我希望使用类似QuichWatch窗口的方法。 最佳答案 对于对象变量,请使用
我的 JSP 应用程序中有一个错误。发布后我的 session 被清除: YAHOO.util.Connect.asyncRequest('POST', Url, callback, post
我是一名优秀的程序员,十分优秀!