标签: dialect

Java Spring:AnnotationSessionFactoryBean,Hibernate-Dialect AutoDetection

我使用以下spring应用程序上下文:

<!-- Hibernate session factory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="hibernateProperties">
      <props>
        <!--
             <prop key="hibernate.dialect">${hibernate.dialect}</prop>
          -->
            <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
            <prop key="hibernate.max_fetch_depth">${hibernate.max_fetch_depth}</prop>

            <prop key="hibernate.cache.use_second_level_cache">${hibernate.cache.use_second_level_cache}</prop>
            <prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop>
            <prop key="hibernate.cache.provider_class">${hibernate.cache.provider}</prop>

            <prop key="hibernate.connection.pool_size">10</prop>
            <prop key="hibernate.jdbc.batch_size">1000</prop>
            <prop key="hibernate.bytecode.use_reflection_optimizer">true</prop>

        </props>
    </property>
    <property name="annotatedClasses">
        <list>
          ...
       </list>
    </property>

    <property name="schemaUpdate" value="${hibernate.schemaUpdate}"/>
</bean>
Run Code Online (Sandbox Code Playgroud)

然后问题是:虽然Hibernate应该支持Dialect-Autodetection,但是这个代码不起作用: Uppon Application-Init抛出以下异常:

org.hibernate.HibernateException: The dialect was not set. Set the property hibernate.dialect.
    at org.hibernate.dialect.Dialect.instantiateDialect(Dialect.java:256)
    at org.hibernate.dialect.Dialect.getDialect(Dialect.java:234)
    at org.hibernate.dialect.Dialect.getDialect(Dialect.java:249)
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean$3.doInHibernate(LocalSessionFactoryBean.java:957)
    at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
    at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:339)
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.updateDatabaseSchema(LocalSessionFactoryBean.java:953)
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.afterSessionFactoryCreation(LocalSessionFactoryBean.java:843)
    at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:213)
Run Code Online (Sandbox Code Playgroud)

我可以通过取消注释hibernate.dialect属性来避免此异常.为什么我要这样做?为什么不能休眠只是像它应该的那样自动检测方言?

我想删除dialect-property来解决 …

spring hibernate dialect

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

如何在gcc中获取当前的c方言?

C 编程新手。
在 gcc 中-std设置了编译的 C 标准,例如gcc -std=c99.
可以知道当前制定的是哪个C标准吗?

c gcc dialect

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

无法解析名称 org.hibernate.dialect.SQLiteDialect

上周我说“让我们试试 WildFly 10!” 在完成基本配置和 HelloWorld 内容之后,我想看看持久性是如何工作的。A 采用了我的旧 ABC EAR,它有一个 JPA 模块,其中 Hibernate 与 SQLite 一起使用。我设置了net.kemitix提供的方言。

\n\n

因此,我在 POM 文件中设置了它的依赖项:

\n\n
<dependency>\n    <groupId>net.kemitix</groupId>\n    <artifactId>sqlite-dialect</artifactId>\n    <version>0.1.0</version>\n</dependency>\n
Run Code Online (Sandbox Code Playgroud)\n\n

打包后的 EAR 如下所示:

\n\n
ABC_Ear-0.0.1-SNAPSHOT.ear\n    lib\n        ABC_Jpa-0.0.1-SNAPSHOT.jar\n        sqlite-dialect-0.1.0.jar\n        sqlite-jdbc-3.8.11.2.jar\n
Run Code Online (Sandbox Code Playgroud)\n\n

持久化.xml:

\n\n
<?xml version="1.0" encoding="UTF-8"?>\n<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">\n    <persistence-unit name="ABC_Jpa" transaction-type="JTA">\n        <class>abc.jpa.User</class>\n        <class>abc.jpa.Group</class>\n        <properties>\n            <property name="javax.persistence.jdbc.url" value="jdbc:sqlite:C:/sqlite/ABC.db"/>\n            <property name="javax.persistence.jdbc.driver" value="org.sqlite.JDBC"/>\n            <property name="jboss.entity.manager.factory.jndi.name" value="java:jboss/AbcEntityManagerFactory" />\n            <property name="jboss.entity.manager.jndi.name" value="java:/AbcEntityManager"/>\n            <property name="hibernate.dialect" value="org.hibernate.dialect.SQLiteDialect"/>\n            <property name="hibernate.show_sql" value="true"/>\n            <property name="hibernate.hbm2ddl.auto" value="create"/> \n        </properties>\n    </persistence-unit>\n</persistence>\n
Run Code Online (Sandbox Code Playgroud)\n\n

部署过程中出现如下异常: …

hibernate dialect wildfly

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

创建名称为“entityManagerFactory”的 bean 时出错:org/hibernate/dialect/PostgreSQL82Dialect

我正在将 Spring Boot 父版本从 2.5.12 迁移到3.0.6,我遇到了许多可以解决的问题,但我在这一问题上遇到了困难:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: org/hibernate/dialect/PostgreSQL82Dialect


Caused by: java.lang.NoClassDefFoundError: org/hibernate/dialect/PostgreSQL82Dialect
    at com.vladmihalcea.hibernate.type.HibernateTypesContributor.contribute(HibernateTypesContributor.java:34)
    at org.hibernate.boot.internal.MetadataBuilderImpl.applyTypes(MetadataBuilderImpl.java:296)
Run Code Online (Sandbox Code Playgroud)

我的 pom.xml (仅受影响的依赖项):

<!-- versions -->
    <hibernate-core.version>6.2.5.Final</hibernate-core.version>
    <hibernate-types.version>2.16.3</hibernate-types.version>
    <postgresql.version>42.5.4</postgresql.version>
    <spring.boot.version>3.0.6</spring.boot.version>
    
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-jpa</artifactId>
      <version>${spring.boot.version}</version>
    </dependency>
    <dependency>
      <groupId>com.vladmihalcea</groupId>
      <artifactId>hibernate-types-52</artifactId>
      <version>${hibernate-types.version}</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-core</artifactId>
      <version>${hibernate-core.version}</version>
      <scope>compile</scope>
    </dependency>

Run Code Online (Sandbox Code Playgroud)

应用属性:


  jpa:
    properties:
      hibernate:
        dialect: org.hibernate.dialect.PostgreSQLDialect
Run Code Online (Sandbox Code Playgroud)

java版本:17

postgresql spring hibernate dialect entitymanagerfactory

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

写lisp方言

你有什么建议用Python编写Lisp方言/解释器吗?我想只有几个基本的命令,比如开始set,printdefine什么的.

lisp python interpreter dialect

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

Clojure遵循Common Lisp标准吗?

我最近发现,如果它遵循Common Lisp标准,我可以在学校使用Lisp的任何方言进行函数式编程课程.Clojure是否遵循此标准?它太不一样了吗?

lisp standards clojure common-lisp dialect

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

Spring Security Dialect sec:授权未解析

我正在使用 spring boot 2.1.0 和 spring security 构建一个小应用程序。我可以使用表单身份验证登录和退出。但是, sec:authorize 标记不会被解析或评估,呈现的 html 包含这些属性。

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <dependency>
        <groupId>org.thymeleaf.extras</groupId>
        <artifactId>thymeleaf-extras-springsecurity4</artifactId>
        <version>3.0.4.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>nz.net.ultraq.thymeleaf</groupId>
        <artifactId>thymeleaf-layout-dialect</artifactId>
        </dependency>
Run Code Online (Sandbox Code Playgroud)

不知道我错过了什么

security spring spring-security dialect thymeleaf

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