小编Gre*_*tle的帖子

Vuetify 2 分组数据表,带有自定义组标题和项目行

我的目标是从汽车模型列表中创建一个 Vuetify 2 数据表。数据需要按供应商与自定义组标题行进行分组,并且每个车型的项目行也需要自定义。下面是一个非常简化的示例,用于显示我的主要问题,即Vuetify 完全忽略了我的 item-slot 模板,而是使用默认行为

如何让 Vuetify 也使用该模板,同时避免为每个项目列使用单个模板?...因为在我的真实示例中,有很多列需​​要自定义。

维代码:

<div id="app">
  <v-app>
    <v-data-table
      dense
      disable-sort
      :headers="headers"
      hide-default-footer
      :items="cars"
      item-key="id"
      group-by="vendor"
    >
      <template v-slot:group.header="{items, isOpen, toggle}">
        <th colspan="2">
          <v-icon @click="toggle"
            >{{ isOpen ? 'mdi-minus' : 'mdi-plus' }}
          </v-icon>
          {{ items[0].vendor }}
        </th>
      </template>
      <template v-slot:item="{ item }">
        <tr>
          <td><strong>{{ item.name }}</strong></td>
          <td>{{ item.power }} HP</td>
        </tr>
      </template>
    </v-data-table>
  </v-app>
</div>
Run Code Online (Sandbox Code Playgroud)

Javascript代码:

new Vue({
  el: '#app',
  vuetify: new Vuetify(),
  data () {
    return {
      headers: [
        { text: …
Run Code Online (Sandbox Code Playgroud)

vue.js vuetify.js

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

如何将hibernate查询结果作为列表或hashmap的关联数组获取

我正在开发struts 2和hibernate 3中的应用程序.

我有3张桌子

  1. 检查
  2. InspectionMission
  3. 时间线

Inspection与...相关联InspectionMissionInspectionMission与之相关联Timeline.

现在我有以下问题.我在HQL中编写了以下查询

public List getQuartewiseInspectionList(){

   Session session = HibernateUtil.getSessionFactory().getCurrentSession();

   Query q = session.createQuery(
                "select count(i.inspectionId) as tot_inspections,t.year,t.quarter" +
                " From Inspection as i " +
                " inner join i.inspectionMission as im inner join im.timeline as t" +
                " GROUP by t.year,t.quarter");

   return q.list();

}
Run Code Online (Sandbox Code Playgroud)

我想获取结果如下

result[0][tot_inspections] = "6"
result[0][year] = "2009";
result[0][quarter] = "Q2";

result[1][tot_inspections] = "3"
result[1][year] = "2009";
result[1][quarter] = "Q3";
Run Code Online (Sandbox Code Playgroud)

等等,以便我可以在jsp struts中显示它,如下所示:

在JSP中,我编写了以下代码 …

java struts hibernate

14
推荐指数
1
解决办法
2万
查看次数

如何重置 Hibernate 序列生成器?

我将 Hibernate 3.5.6-Final 与用于生产的 Oracle 数据库和用于集成测试的 H2 数据库一起使用。ID 创建的 Hibernate 映射看起来像这样,每个实体都扩展了 EasyPersistentObject:

@MappedSuperclass
public class EasyPersistentObject implements Serializable {

@Id
@SequenceGenerator(name = "hibernate_seq", sequenceName = "hibernate_id_seq", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "hibernate_seq")
protected Integer id;
Run Code Online (Sandbox Code Playgroud)

在每次 JUnit 集成测试之前,我都会从数据库中删除所有数据

new SchemaExport(configuration).create(false, true);
Run Code Online (Sandbox Code Playgroud)

一切正常,直到我为序列生成增加了 allocationSize。将其提高到例如 10 将在插入测试数据时使用 UniqueKeyConstraintViolations 破坏多个测试。

例如:

  1. Test1:创建 8 个测试对象(Hibernate 仍然分配了 id 值 9 和 10)
  2. 重新创建数据库
  3. Test2:创建 12 个测试对象(Hibernate 使用 9 和 10 作为 ID,然后从同时重置(1-10)的数据库序列中加载新 ID,并在尝试插入 ID 为 9 的第二个实体时失败)

所以我的问题有没有办法在每次测试之前重置 Hibernates …

java junit spring hibernate

8
推荐指数
2
解决办法
2万
查看次数

使 Jackson 反序列化为没有 setter 或构造函数的私有字段

我设法将 Jackson 配置为序列化一个类,只需使用

objectMapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);
Run Code Online (Sandbox Code Playgroud)

但是我无法将这个非静态类的 JSON 字符串反序列化为没有任何参数化构造函数或设置器的对象。这是否可能 - 我认为它应该通过反思,但我不知道如何......

以下是需要通过的 2 个测试才能实现我所需要的:

public class ObjectMapperTest {

    private ObjectMapper mapper;

    @Before
    public void init() {
        mapper = new ObjectMapper();
        mapper.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY);
    }

    @Test
    public void serialize() throws Exception {
        Payload payloadToSerialize = new Payload();
        payloadToSerialize.data = "testData";
        String serializedPayload = mapper.writeValueAsString(payloadToSerialize);
        assertThat(serializedPayload, is("{\"data\":\"testData\"}"));
        // --> OK
    }

    @Test
    public void deserialize() throws Exception {
        Payload deserializedPayload = mapper.readValue("{\"data\":\"testData\"}", Payload.class);
        assertThat(deserializedPayload.data, is("testData"));
        // com.fasterxml.jackson.databind.JsonMappingException:
        // No suitable constructor found for type …
Run Code Online (Sandbox Code Playgroud)

java json jackson

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

如何避免 IntelliJ 中可嵌入类的验证错误“无法解析列 'xy'”?

我在 Java/Hibernate 项目中使用 IntelliJ。我还为该项目分配了一个数据源,因此大多数非现有列的 JPA 验证错误都消失了。

剩下的唯一错误是在@Embeddable 类中定义的这些列,例如:

@Embeddable
public class MyEmbeddedClass {

    @Column(name="my_embedded_column")
    private String myEmbeddedColumn;
Run Code Online (Sandbox Code Playgroud)

IntelliJ 不断警告我这些列不存在于数据模型中:

“无法解析列‘my_embedded_column’”

有什么方法可以让 IntelliJ 在不禁用整个 JPA 验证功能的情况下跳过 @Embeddable 类的这些 JPA 验证检查,还是我应该为 JPA 验证插件创建错误票证?

java hibernate jpa intellij-idea code-inspection

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

Quartz 2.2多调度程序和@DisallowConcurrentExecution

请考虑这个例子。

一个示例Web应用程序要求scheduler.start()其启动。调度程序配置为将其作业存储在DB中。

该应用程序被复制到六个Web服务器上。

因此,如果启动六个Web服务器,则在单个DB上将有六个具有相同名称的调度程序。如https://quartz-scheduler.org/documentation/quartz-2.1.x/cookbook/MultipleSchedulers中所述

切勿针对运行(start()ed)具有相同调度程序名称的任何其他实例的同一组数据库表启动(scheduler.start())非集群实例。您可能会遇到严重的数据损坏,并且肯定会遇到不稳定的行为。

因此,这将失败。

我的问题是,如果我确定我所有的工作@DisallowConcurrentExecution都会胜任工作,否则仍然失败?


如果@DisallowConcurrentExecution没有帮助,我应该手动将一台服务器配置为某些主机

public class StartUp implements ServletContextListener {

   public void contextInitialized(ServletContextEvent event) {
       if(THIS_IS_MASTER_TOMCAT){
         scheduler.start()
       }
}
Run Code Online (Sandbox Code Playgroud)

有更好的方法吗?

java quartz-scheduler

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