小编Tho*_*mas的帖子

如何在IntelliJ IDEA调试器中按名称对属性进行排序?

有没有办法在使用Java调试器时按名称对对象的属性进行排序?

例如,我看到了这个:

intellij调试视图

而且我想看到这个:

调试有序

java debugging intellij-idea intellij-idea2017

12
推荐指数
2
解决办法
1369
查看次数

Vite + Cypress:如何防止重新加载(由于优化的依赖关系)导致测试失败?

当我运行 Cypress 组件测试时,有时我会遇到以下情况:

\n
17:34:59 [vite] \xe2\x9c\xa8 new dependencies optimized: vuetify/components, vuetify/lib/components/VAppBar/index.mjs, vuetify/lib/components/VDivider/index.mjs, vuetify/lib/components/VToolbar/index.mjs, @vueuse/core\n17:34:59 [vite] \xe2\x9c\xa8 optimized dependencies changed. reloading\n\n1) An uncaught error was detected outside of a test\n
Run Code Online (Sandbox Code Playgroud)\n

测试失败...如果我第二次重新启动测试,一切正常:所有测试都通过。\n我可以采取什么措施来防止这种情况发生?

\n

我的cypress.config.ts很简单:

\n
export default defineConfig({\n  video: false,\n  env: {\n    codeCoverage: {\n      exclude: ['cypress/**/*.*', 'src/**/*.cy.ts'],\n    },\n  },\n  component: {\n    devServer: {\n      framework: 'vue',\n      bundler: 'vite',\n    },\n    setupNodeEvents(on, config) {\n      registerCodeCoverageTasks(on, config)\n\n      return config\n    },\n  },\n})\n
Run Code Online (Sandbox Code Playgroud)\n

我的也是如此vite.config.ts

\n
export default defineConfig({\n  plugins: [\n    vue(), …
Run Code Online (Sandbox Code Playgroud)

vue.js vuetify.js cypress vite

9
推荐指数
1
解决办法
3974
查看次数

Spring Data Jpa-ManyToMany-删除联接表的实体

我有这两节课:

public class ClassA extends [...] implements [...] {
    @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    @JoinTable(name = JOIN_TABLE_NAME,
            joinColumns = @JoinColumn(name = COLUMN_REF_A, referencedColumnName = COLUMN_ID_A),
            inverseJoinColumns = @JoinColumn(name = COLUMN_REF_B, referencedColumnName = COLUMN_ID_B))
    private List<ClassB> fieldClassB;   
}

public class ClassB extends [...] implements [...] {
    @ManyToMany(fetch = FetchType.LAZY, mappedBy = "fieldClassB", cascade = CascadeType.ALL)
    private List<ClassA> fieldClassA;

}
Run Code Online (Sandbox Code Playgroud)

当我删除ClassB(通过spring数据jpa存储库)时,Hibernate也会删除的实例ClassA,而我只希望JOIN_TABLE_NAME删除表中的行(另一个问题是,由于级联模式,删除ClassA实体还会删除其他ClassB引用的对象通过这些ClassA)。

有什么方法可以解决这个问题,而不必创建连接实体并@ManyToMany通过@OneToMany引用新的连接实体来替换注释?

java spring hibernate spring-data-jpa

5
推荐指数
1
解决办法
4795
查看次数

使用反射的 OpenJDK 11 动态枚举

我正在开发一个使用 JDK8 运行的项目,我们希望将其迁移到 OpenJDK11。

但是,有一些遗留代码可以在运行时动态创建枚举(使用反射和sun.reflect.*包):

public class EnumUtil {
    static Object makeEnum(...) {
        ...
        enumClass.cast(sun.reflect.ReflectionFactory.getReflectionFactory() .newConstructorAccessor(constructor).newInstance(params));
    }
}
Run Code Online (Sandbox Code Playgroud)

或者

    // before, field is made accessible, the modifier too
    sun.reflect.FieldAccessor fieldAccessor = sun.reflect.ReflectionFactory.getReflectionFactory().newFieldAccessor(field, false);
    field.set(target, value);
Run Code Online (Sandbox Code Playgroud)

例如,假设我们有枚举AEnum

public enum AEnum {
    ; // no values at compile time

    private String label;

    private AEnum (String label) {
        this.label = label;
    }
Run Code Online (Sandbox Code Playgroud)

然后,我们添加这样的枚举值:

EnumUtil.addEnum(MyEnum.class, "TEST", "labelTest");
Run Code Online (Sandbox Code Playgroud)

最后,在运行时,我们有一个带有 label = labelTest 的值AEnum.TEST(不是通过直接调用,而是通过)。Enum.valueOf

不幸的是,sun.reflect.*OpenJDK11 中不再提供类。

我尝试过使用 …

java reflection enums openjdk-11

1
推荐指数
1
解决办法
1686
查看次数