我想用流利的Nhibernate映射这样的东西,但我不知道如何映射库存表
这是我的表格:
产品(身份证,姓名,......)
仓库(Id,Name,...)
库存(Product_id,Warehouse_id,StockInHand)
我已经像下面那样映射了产品和仓库
公共产品地图(){
Run Code Online (Sandbox Code Playgroud)Id(x => x.Id); Map(x => x.Name); HasManyToMany(x => x.StoresStockedIn) .Cascade.All() .Inverse() .Table("Inventory"); }public WarehouseMap()
Run Code Online (Sandbox Code Playgroud){ Id(x => x.Id); Map(x => x.Name); HasManyToMany(x => x.Products) .Cascade.All() .Table("Inventory"); }
我面临的问题是如何映射StockInHand(库存模型应如何映射?).
或者有其他方式来模拟这种情况吗?
我已经阅读了一些现有的问题,但尚未清楚地了解该怎么做.
谢谢
我有很多java域对象需要转换为DTO.
请不要以反模式的东西开始,因为历史悠久,Domain Objects就是它们的原因,我无法修改它们(或者不能修改它们,见下文).
所以,当然,我们已经过了手工完成这一切的时代.我环顾四周,推土机似乎是DTO映射的首选框架.
但是......我真正喜欢的是:在DTO中注释我想要的类和字段,并运行一个生成DTO和映射器的工具.
这听起来太不合理吗?
这样的工具已经存在吗?
我有这样的枚举:
public enum PartnershipIndicator {
VENDOR("VENDOR"), COPARTNER("COPARTNER"), BUYER("BUYER");
String code;
private PartnershipIndicator(String code) {
this.code = code;
}
public String getCode() {
return code;
}
public static PartnershipIndicator valueOfCode(String code) {
for (PartnershipIndicator status : values()) {
if (status.getCode().equals(code)) {
return status;
}
}
throw new IllegalArgumentException(
"Partnership status cannot be resolved for code " + code);
}
@Override
public String toString() {
return code;
}
}
Run Code Online (Sandbox Code Playgroud)
我需要将其转换为String,反之亦然.现在,它由自定义转换器完成.但我想通过推土机映射(如果有可能)这样做.如果我不写任何映射到推土机confing,我得到
org.dozer.MappingException: java.lang.NoSuchMethodException: by.dev.madhead.demo.test_java.model.PartnershipIndicator.<init>()
Run Code Online (Sandbox Code Playgroud)
例外.我不能将默认的公共构造函数添加到枚举中,因为它是不可能的.所以,我用内部代码和valueOfCode()/ toString()写了一个技巧.这是行不通的.然后,我在dozer配置中映射它:
<mapping>
<class-a>java.lang.String</class-a>
<class-b create-method="valueOfCode">by.dev.madhead.demo.test_java.model.PartnershipIndicator</class-b>
</mapping> …Run Code Online (Sandbox Code Playgroud) 我的数据库模式中有一些列具有位数据类型,并且在Doctrine2映射时出现问题.我一直在:
请求未知的数据库类型位,Doctrine\DBAL\Platforms\MySqlPlatform可能不支持它.
有什么工作吗?我只是想将数据类型更改为boolean并使用true和false语句,但这意味着要大规模地更改模式,而我没有时间.
我认为这个问题可以用ML解决,因为我想要实现输出空间的一些属性.
问题:D1 < - > D2其中D1是输入空间,D2是一个空间,使得:D2将具有更多的维度(可能是数量级),其中每个维度被约束为0到N之间的自然数,并且存在概率P表示+ -1变为D2中的随机维度对映射回D1没有影响.存在概率P2,这种变化将仅影响D1中的单个维度,概率P3将影响2个维度,以及其他此类规则......
我们的目标是创建一种映射方法,以便将遗传算法应用于D2空间,理由是这就是DNA的工作方式,而且显然是有效的.
如果维度之间存在隐藏关系,那么应用于D1的遗传算法可能是无用的,这是D2需要的主要原因,这种关系将被最小化,并且在它们确实存在的情况下,它们的影响幅度将被随机化.
mapping machine-learning genetic-programming genetic-algorithm
我有一个数据帧
id store address
1 100 xyz
2 200 qwe
3 300 asd
4 400 zxc
5 500 bnm
Run Code Online (Sandbox Code Playgroud)
我有另一个数据帧df2
serialNo store_code warehouse
1 300 Land
2 500 Sea
3 100 Land
4 200 Sea
5 400 Land
Run Code Online (Sandbox Code Playgroud)
我希望我的最终数据框看起来像:
id store address warehouse
1 100 xyz Land
2 200 qwe Sea
3 300 asd Land
4 400 zxc Land
5 500 bnm Sea
Run Code Online (Sandbox Code Playgroud)
即从一个数据帧映射到另一个数据帧创建新列
使用Google Maps API,如何获取地图显示区域角落的纬度和经度?
也就是说,如果我的地图宽300像素,高400像素,我怎样才能找到(0,0)和(300,400)点的纬度?
我有一个我想要规范化的向量列表(在Python中),同时删除最初具有小规范的向量.
输入列表例如是
a = [(1,1),(1,2),(2,2),(3,4)]
Run Code Online (Sandbox Code Playgroud)
我需要输出为(x*n,y*n),其中n =(x*2 + y*2)** - 0.5
例如,如果我只需要规范,那么列表理解就很容易:
an = [ (x**2+y**2)**0.5 for x,y in a ]
Run Code Online (Sandbox Code Playgroud)
例如,也可以很容易地存储一个标准化的x,但我想要的是将这个临时变量"n"用于两次计算,然后抛弃它.
我也不能只使用lambda函数,因为我还需要n来过滤列表.那么最好的方法是什么?
现在我在这里使用这个嵌套列表理解(在内部列表中有一个表达式):
a = [(1,1),(1,2),(2,2),(3,4)]
[(x*n,y*n) for (n,x,y) in (( (x**2.+y**2.)**-0.5 ,x,y) for x,y in a) if n < 0.4]
# Out[14]:
# [(0.70710678118654757, 0.70710678118654757),
# (0.60000000000000009, 0.80000000000000004)]
Run Code Online (Sandbox Code Playgroud)
内部列表生成带有额外值(n)的元组,然后我将这些值用于计算和过滤.这真的是最好的方式吗?我应该注意哪些可怕的低效率?
为什么UseValue只执行一次?我需要为每个请求调用TeamRepository.
我怎样才能做到这一点?
从TeamEmployee映射到TeamEmployeeInput:
CreateMap<TeamEmployee, TeamEmployeeInput>()
.ForMember(x => x.Teams, x => x.UseValue(GetTeamEmployeeInputs()))
.ForMember(d => d.SelectedTeam, s => s.MapFrom(x => x.Team == null ? 0 : x.Team.Id));
private IEnumerable<TeamDropDownInput> GetTeamEmployeeInputs()
{
Team[] teams = CreateDependency<ITeamRepository>().GetAll();
return Mapper.Map<Team[], TeamDropDownInput[]>(teams);
}
Run Code Online (Sandbox Code Playgroud)
域对象:
public class TeamEmployee : Entity
{
public virtual Employee Employee { get; set; }
public virtual Team Team { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
查看模型对象:
public class TeamEmployeeInput
{
public int? Id { get; set; }
public string …Run Code Online (Sandbox Code Playgroud) 我试着添加这个servlet
package com.classmgt.servlet;
@WebServlet("/ControllerServlet")
public class ControllerServlet extends HttpServlet {}
Run Code Online (Sandbox Code Playgroud)
到我的Eclipse项目,通过编辑web.xml如下
<servlet>
<description>Servlet to print out Hello World!</description>
<display-name>ControllerServlet</display-name>
<servlet-name>ControllerServlet</servlet-name>
<servlet-class>com.classmgt.servlet.ControllerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ControllerServlet</servlet-name>
<url-pattern>/ControllerServlet</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
但是,我得到以下异常:
SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ClassManagementSystem]]
at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.catalina.LifecycleException: Failed to start …Run Code Online (Sandbox Code Playgroud)