小编fre*_*red的帖子

Spring数据CRUD方法

我们使用spring数据,其中最重要的是能够使用提供的接口(例如CrudRepository)而不必实际实现东西.

我们已经意识到我们需要采取措施来确保我们的应用:

  • 从输入中转义非法HTML字符,例如&<>"'
  • 有针对sql注入的保护

对我来说,最合乎逻辑的地方似乎是在我们所有的repos共享的通用db方法中的某个地方.但是因为它们没有在我们的代码中的任何地方实现,所以我不知道这是否已经在spring数据中实现了.

java spring spring-data

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

Spring Data PagingAndSortingRepository

我正在使用Spring Data和QueryDSL,如Gierke在他的博客文章中所述.一切都在工作,并且实现起来相对简单,但我现在已达到了一个需要分页和排序的数据视图.但是,似乎必须选择其中一个.为什么是这样?是否真的没有办法同时获得两者?到目前为止,我们已经花费了大量时间和精力来实现所有目标,如果陷入这样一个看似简单的任务,那将是一种耻辱.

简而言之,我需要创建一个方法,该方法采用QueryDSL谓词,可分页和某种形式的排序对象来提供过滤,分页和排序的结果.

任何信息,将不胜感激.

spring-data

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

Hibernate复合主键

我遇到了使用复合主键的hibernate实体集的问题.

我们的应用程序中有一个"目标"概念.目标ID应该是其他三个表(实体)主要ID的组合.目标也有一个int taget.员工应该有一系列目标.SQL看起来像这样:

CREATE TABLE IF NOT EXISTS `target` (
  `role_id` bigint(20) NOT NULL,
  `ApplicationPeriod_id` bigint(20) NOT NULL,
  `project_class_id` bigint(20) NOT NULL,
  `target` int(11) NOT NULL,
  PRIMARY KEY (`role_id`,`ApplicationPeriod_id`,`project_class_id`),
  KEY `fk_role_id` (`role_id`),
  KEY `fk_ApplicationPeriod_id` (`ApplicationPeriod_id`),
  KEY `fk_project_class_id` (`project_class_id`),
  KEY `FKCB7E71918717386C` (`project_class_id`),
  KEY `FKCB7E7191BEC322C1` (`ApplicationPeriod_id`),
  KEY `FKCB7E71917B617197` (`role_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Run Code Online (Sandbox Code Playgroud)

这个SQL工作正常,只要applicationperiodid和projectclassid不同,它允许每个role_id(Employee)有多个目标.

这是targetID类

@Embeddable
public class TargetId implements Serializable {

    @ManyToOne
    private Employee employee;

    @ManyToOne
    private ApplicationPeriod applicationPeriod;

    @ManyToOne
    private ProjectClass projectClass;


    public Employee getEmployee() {
        return employee;
    }

    public …
Run Code Online (Sandbox Code Playgroud)

java hibernate composite-primary-key

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

避免在Haskell中进行原始的痴迷

来自http://learnyouahaskell.com/making-our-own-types-and-typeclasses

data Person = Person { name :: String  
                     , age :: Int  
                     } deriving (Show)   
Run Code Online (Sandbox Code Playgroud)

在一个真实的应用程序中,使用像String和Int这样的原语作为名称和年龄将构成原始的痴迷,代码气味.(显然,出生日期优于国际时代,但让我们忽略它)相反,人们更喜欢像

newtype Person = Person { name :: Name  
                        , age :: Age  
                        } deriving (Show)   
Run Code Online (Sandbox Code Playgroud)

在OO语言中,这看起来像

class Person {
  Name name;
  Age age;
  Person(Name name, Age age){
    if (name == null || age == null)
      throw IllegalArgumentException();
    this.name = name;
    this.age = age;
  }
}

class Name extends String {
  Name(String name){
    if (name == null || name.isEmpty() || name.length() > 100) …
Run Code Online (Sandbox Code Playgroud)

primitive haskell types

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

spring.profiles.active 不兑现

application.properties 
Run Code Online (Sandbox Code Playgroud)

我们有线路

spring.profiles.active=LOCALHOST
Run Code Online (Sandbox Code Playgroud)

application-DEV.properties
Run Code Online (Sandbox Code Playgroud)

,我们有这条线

spring.profiles.active=DEV,dbcache,metrics,AWS
Run Code Online (Sandbox Code Playgroud)

. 运行应用程序时

java -jar app.war -Dspring.profiles.active=DEV
Run Code Online (Sandbox Code Playgroud)

控制台输出说

The following profiles are active: LOCALHOST
Run Code Online (Sandbox Code Playgroud)

,即

-Dspring.profiles.active=DEV 
Run Code Online (Sandbox Code Playgroud)

参数不被接受,应用程序仍然使用默认的 LOCALHOST 配置文件。

java spring spring-profiles spring-boot spring-properties

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

Java Wicket资源问题

我正在开发一个Web应用程序,我们将代码和Web资源(如css,图像文件等)分开.

我这里有一个文件:

项目root/src/main/webapp/images/icons/16/add.png

在这个位置:

项目root/src/main/java/se/su/dsv/scipro/icons

我有一个这样的课:

package se.su.dsv.scipro.icons;

import org.apache.wicket.ResourceReference;
import org.apache.wicket.behavior.AttributeAppender;
import org.apache.wicket.markup.html.image.Image;
import org.apache.wicket.model.Model;


public class ImageIcon extends Image {

    private static final long serialVersionUID = 1L;

    public static final String ICON_NEW_ADD = "../../../../../../webapp/images/icons/16/add.png";

    public ImageIcon(String id, String name, String size, String alt){
        super(id, new ResourceReference(ImageIcon.class, name));
        if(alt != null){
            add(new AttributeAppender("alt", true, new Model<String>(alt), " "));
        }
        else {
            add(new AttributeAppender("alt", true, new Model<String>(name), " "));
        }
    }

    public ImageIcon(String id, String name){
        this(id, name, "", null); …
Run Code Online (Sandbox Code Playgroud)

java wicket resourcereference

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