我正在使用HQL查询来获取某些记录.如果我使用LEFT JOIN FETCH我的目标实体中的集合将包含重复记录.如果我只使用左连接,它不会.我想当Hibernate懒惰地加载记录时,它避免了重复.
"SELECT z FROM ", TableA.TABLE_NAME, " z ", //
"LEFT JOIN FETCH z.attributeX pv ", //
"LEFT JOIN FETCH pv.attributeY anteil ", //
"LEFT JOIN FETCH z.attributeB kma ", //
"LEFT JOIN FETCH kma.attributeC ", //
"WHERE anteil.attributeD.attributeE.id = :eId ", //
"AND pv.attributeG.id = :gId ");
Run Code Online (Sandbox Code Playgroud)
我的实体TableA有一个指向TablePV(LEFT JOIN FETCH z.attributeX pv)的链接
TablePV有一个TableY(LEFT JOIN FETCH pv.attributeY anteil)的集合
现在Hibernate将正确映射所有内容,除了孩子们TablePV.它将包含几次相同的记录.一个明显的TableA没有帮助,因为那里没有重复.我可以手动删除那些非常不合适的记录.
我在Glassfish中运行我的应用程序.我尝试创建一个作业,每5分钟执行一次,如下所示:
@Startup
@Singleton
@LocalBean
public class TempFolderCleaner {
private final static Logger LOGGER = LoggerFactory.getLogger(TempFolderCleaner.class);
@EJB
private ReportStatusDao reporStatusDao;
@Schedule(minute = "*/5")
public void removeOldReports() {
LOGGER.debug("start removeOldReports()");
}
}
Run Code Online (Sandbox Code Playgroud)
但是,它永远不会被称为.我试图从记录器中看到一条消息并设置一个调试点但不会被调用.我将此文档用于语法:http://download.oracle.com/javaee/6/tutorial/doc/bnboy.html
我也试着准确地指定分钟.不幸的是,没有成功.
我正在尝试使用角度为1.6和5的混合应用程序.手动引导有效.一旦我尝试引导混合应用程序,我就会收到以下错误:
compiler.js?7e34:466未捕获错误:无法解析AppModule的所有参数:(?).at syntaxError(eval at(app.bundle.js:1852),:684:34)at CompileMetadataResolver._getDependenciesMetadata(eval at(app.bundle.js:1852),:15765:35)at CompileMetadataResolver._getTypeMetadata(eval at( app.bundle.js:1852),:15600:26)at CompileMetadataResolver.getNgModuleMetadata(eval at(app.bundle.js:1852),:15399:24)at JitCompiler._loadModules(eval at(app.bundle.js: 1852),:33760:87)在JitCompiler._compileModuleAndComponents(eval at(app.bundle.js:1852),:33721:36)at JitCompiler.compileModuleAsync(eval at(app.bundle.js:1852),:33637: 37)at CompilerImpl.compileModuleAsync(eval at(app.bundle.js:1864),:245:49)at PlatformRef.bootstrapModule(eval at(app.bundle.js:229),:5646:25)at eval(eval) at(app.bundle.js:827),:76:53)
app.ts
platformBrowserDynamic().bootstrapModule(AppModule);
app.module.ts
import {NgModule} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';
import {UpgradeModule} from '@angular/upgrade/static';
@NgModule({
imports: [
BrowserModule,
UpgradeModule
]
})
export class AppModule {
constructor(private upgrade: UpgradeModule) {
}
ngDoBootstrap() {
this.upgrade.bootstrap(document.documentElement, ['myApp']);
}
}
Run Code Online (Sandbox Code Playgroud)
tsconfig.json
{
"compileOnSave": false,
"compilerOptions": {
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"module": "commonjs",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": …Run Code Online (Sandbox Code Playgroud) 如何Hibernate Envers在 Spring Boot 2 中禁用?我不想删除依赖项,因为代码依赖于它取决于环境。
我在我的中尝试了以下属性,application.properties但没有奏效。启动时总是打印envers enabled = true
spring.hibernate.integration.envers.enabled=false
hibernate.integration.envers.enabled=false
spring.jpa.hibernate.integration.envers.enabled=false
Run Code Online (Sandbox Code Playgroud) 即使对象相等,预选在选择字段中也不起作用:
<select ng-show="isEditMode(todo.id)" id="assignee" name="assignee"
ng-model="todo.assignee" required
ng-options="user.name for user in users">
</select>
Run Code Online (Sandbox Code Playgroud)
todo.assignee包含一个用户对象,该对象应与用户匹配.
似乎Angular无法识别来自todo.assignee的User对象包含在用户中.我可以手动执行此映射吗?
显示选择时未选择任何值.我可以选择一个用户(来自用户)并保存记录没有任何问题.
调节器
$scope.todos = Todo.query();
$scope.users = User.query();
Run Code Online (Sandbox Code Playgroud)
按照评论中的要求.给定对象的结构: $ scope.todos
[
{
"id": 157,
"description": "my description 0",
"deadline": 1392073200000,
"assignee": {
"id": 34,
"name": "User 1",
"email": "user1@hotmail.com"
},
"comment": "my comment 0",
"done": true
}
...
]
Run Code Online (Sandbox Code Playgroud)
$ scope.users
[
{
"id": 34,
"name": "User 1",
"email": "user1@hotmail.com"
},
{
"id": 35,
"name": "User 2",
"email": "xxc@gmail.com"
},
{
"id": 36, …Run Code Online (Sandbox Code Playgroud) angular ×1
angularjs ×1
fetch ×1
glassfish ×1
hibernate ×1
hql ×1
java-ee ×1
javascript ×1
jpa ×1
left-join ×1
ng-upgrade ×1
scheduler ×1
spring-boot ×1