相关疑难解决方法(0)

如何在JPA配置中设置默认架构名称?

我发现在hibernate配置文件中我们可以设置参数hibernate.default_schema:

<hibernate-configuration> 
   <session-factory>
      ...
      <property name="hibernate.default_schema">myschema</property>
      ...
   </session-factory>
</hibernate-configuration>
Run Code Online (Sandbox Code Playgroud)

现在我正在使用JPA,我想做同样的事情.否则我必须为schema每个@Table注释添加参数,如:

@Entity
@Table (name = "projectcategory", schema = "SCHEMANAME")
public class Category implements Serializable { ... }
Run Code Online (Sandbox Code Playgroud)

据我所知,这个参数应该在这部分配置的某个地方:

<bean id="domainEntityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="persistenceUnitName" value="JiraManager"/>
    <property name="dataSource" ref="domainDataSource"/>
    <property name="jpaVendorAdapter">
        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
            <property name="generateDdl" value="false"/>
            <property name="showSql" value="false"/>
            <property name="databasePlatform" value="${hibernate.dialect}"/>
        </bean>
    </property>
</bean>

<bean id="domainDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
    <property name="driverClass" value="${db.driver}" />
    <property name="jdbcUrl" value="${datasource.url}" />
    <property name="user" value="${datasource.username}" />
    <property name="password" value="${datasource.password}" />
    <property name="initialPoolSize" value="5"/>
    <property …
Run Code Online (Sandbox Code Playgroud)

java configuration spring hibernate jpa

58
推荐指数
6
解决办法
15万
查看次数

我可以在SQL Server中创建创建全局函数吗?

是否可以在SQL Server中创建一个我可以在服务器上的任何数据库中使用的函数,而无需添加数据库前缀?

例如,使用此功能:

CREATE FUNCTION getDays (@date date)
RETURNS INT
AS
BEGIN

RETURN CASE WHEN MONTH(@date) IN (1, 3, 5, 7, 8, 10, 12) THEN 31
            WHEN MONTH(@date) IN (4, 6, 9, 11) THEN 30
            ELSE CASE WHEN (YEAR(@date) % 4    = 0 AND
                            YEAR(@date) % 100 != 0) OR
                           (YEAR(@date) % 400  = 0)
                      THEN 29
                      ELSE 28
                 END
       END

END
Run Code Online (Sandbox Code Playgroud)

sql sql-server-2008

5
推荐指数
2
解决办法
4820
查看次数

在运行时休眠@Formula设置值

我有一个Java实体,其字段带有注解@Formula,在其中执行了包含Firebird数据库某些特定功能的SQL查询。现在,我必须迁移到Oracle数据库,并且需要替换该@Formula中的SQL代码。有办法实现吗?我可以通过某种方式扩展Hibernate @Formula以便在运行时更改注释的值吗?谢谢

hibernate

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

标签 统计

hibernate ×2

configuration ×1

java ×1

jpa ×1

spring ×1

sql ×1

sql-server-2008 ×1